package net.y2t72.microblog.dao.impl;

import java.util.Map;

import javax.servlet.jsp.jstl.sql.Result;

import net.y2t72.microblog.bean.Image;
import net.y2t72.microblog.dao.ImageDao;
import net.y2t72.microblog.util.StringUtil;

/**
 * 广播图片表数据访问实现类
 * @author Administrator
 *
 */

public class ImageDaoImpl implements ImageDao {

	@Override
	/**
	 * 添加图片信息
	 * @param image	Image对象
	 * @return 受影响行数
	 * @author 余坚良
	 */
	public int add(Image image) {
		String sql = "insert into Image(id,mid,name,description,fileSize,width,height,imageUrl)" + 
			" values(image_seq.nextval,?,?,?,?,?,?,?)";
		Object[] param = {image.getMember().getId(),image.getName(),image.getDescription(),image.getFileSize()
				,image.getWidth(),image.getHeight(),image.getImageUrl()};
		return BaseDao.getInstance().executeUpdate(sql, param);
	}

	@Override
	/**
	 * 根据图片编号删除图片存储信息
	 * @param id	图片编号
	 * @return	受影响行数
	 * @author 余坚良
	 */
	public int delete(int id) {
		String sql = "delete from Image where id = ?";
		Object[] param = {id};
		return BaseDao.getInstance().executeUpdate(sql, param);
	}

	@Override
	/**
	 * 查询
	 * @param name	文件名
	 * @return 返回图片编号 默认返回:0
	 * @author 余坚良
	 */
	public int getCurrId(String name) {
		String sql = "select id from Image where name = ?";
		Object[] param = {name};
		Result result = BaseDao.getInstance().executeQuery(sql, param);
		
		int id = 0;
		
		if(result != null && result.getRowCount() > 0){
			@SuppressWarnings("rawtypes")
			Map map = result.getRows()[0];
			id = StringUtil.parseInt(map.get("id"));
		}
		return id;
	}
}
